﻿// ===============================================================================
//  Copyright © ymind.net. All rights reserved .
//  官方网站：http://ymind.net/
//  版权所有：彦铭工作室 老陈出品
// ===============================================================================

using System;
using System.Web;

namespace Lcsoft.UrlRewriter.Errors
{
	/// <summary>
	/// 默认 HTTP 错误处理程序。
	/// </summary>
	public class DefaultErrorHandler : IRewriteErrorHandler
	{
		private readonly string _url;

		/// <summary>
		/// 初始化 <see cref="DefaultErrorHandler"/> 类的新实例。
		/// </summary>
		/// <param name="url">请求地址。</param>
		public DefaultErrorHandler(string url)
		{
			if (url == null) throw new ArgumentNullException("url");

			this._url = url;
		}

		#region IRewriteErrorHandler Members

		/// <summary>
		/// 处理 HTTP 错误信息。
		/// </summary>
		/// <param name="context">一个 <see cref="HttpContext"/> 对象。</param>
		public void HandleError(HttpContext context)
		{
			if (context == null) throw new ArgumentNullException("context");

			context.Server.Execute(this._url);
		}

		#endregion
	}
}
